Modifying behavior of autonomous vehicle based on predicted behavior of other vehicles

ABSTRACT

A vehicle configured to operate in an autonomous mode could determine a current state of the vehicle and the current state of the environment of the vehicle. The environment of the vehicle includes at least one other vehicle. A predicted behavior of the at least one other vehicle could be determined based on the current state of the vehicle and the current state of the environment of the vehicle. A confidence level could also be determined based on the predicted behavior, the current state of the vehicle, and the current state of the environment of the vehicle. In some embodiments, the confidence level may be related to the likelihood of the at least one other vehicle to perform the predicted behavior. The vehicle in the autonomous mode could be controlled based on the predicted behavior, the confidence level, and the current state of the vehicle and its environment.

BACKGROUND

Unless otherwise indicated herein, the materials described in thissection are not prior art to the claims in this application and are notadmitted to be prior art by inclusion in this section.

Some vehicles are configured to operate in an autonomous mode in whichthe vehicle navigates through an environment with little or no inputfrom a driver. Such a vehicle typically includes one or more sensorsthat are configured to sense information about the environment. Thevehicle may use the sensed information to navigate through theenvironment. For example, if the sensors sense that the vehicle isapproaching an obstacle, the vehicle may navigate around the obstacle.

SUMMARY

In a first aspect, a method is provided. The method includesdetermining, using a computer system, a current state of a vehicle. Thevehicle is configured to operate in an autonomous mode. The method alsoincludes determining, using the computer system, a current state of anenvironment of the vehicle. The environment of the vehicle includes atleast one other vehicle. The method additionally includes determining,using the computer system, a predicted behavior of the at least oneother vehicle based on at least the current state of the vehicle and thecurrent state of the environment of the vehicle. The method furtherincludes determining, using the computer system, a confidence level. Theconfidence level includes a likelihood of the at least one other vehicleto perform the predicted behavior. The confidence level is based on atleast the predicted behavior, the current state of the vehicle, and thecurrent state of the environment of the vehicle. The method yet furtherincludes controlling, using the computer system, the vehicle in theautonomous mode based on the predicted behavior, the confidence level,the current state of the vehicle, and the current state of theenvironment of the vehicle.

In a second aspect, a vehicle is provided. The vehicle includes at leastone sensor. The at least one sensor is configured to acquire vehiclestate information and environment state information. The vehicle stateinformation includes information about a current state of the vehicle.The environment state information includes information about a currentstate of an environment of the vehicle, and the environment of thevehicle includes at least one other vehicle. The vehicle also includes acomputer system. The computer system is configured to determine thecurrent state of the vehicle based on the vehicle state information. Thecomputer system is further configured to determine the current state ofthe environment of the vehicle based on the environment stateinformation. The computer system is also configured to determine apredicted behavior of the at least one other vehicle based on at leastthe current state of the vehicle and the current state of theenvironment of the vehicle. The computer system is additionallyconfigured to determine a confidence level. The confidence levelincludes a likelihood of the at least one other vehicle to perform thepredicted behavior. The confidence level is based on at least thepredicted behavior, the current state of the vehicle, and the currentstate of the environment of the vehicle. The computer system is alsoconfigured to control the vehicle in the autonomous mode based on thepredicted behavior, the confidence level, the current state of thevehicle, and the current state of the environment of the vehicle.

In a third aspect, a non-transitory computer readable medium havingstored instructions is provided. The instructions are executable by acomputer system to cause the computer system to perform functions. Thefunctions include determining a current state of a vehicle. The vehicleis configured to operate in an autonomous mode. The functions alsoinclude determining a current state of an environment of the vehicle.The environment of the vehicle includes at least one other vehicle. Thefunctions additionally include determining a predicted behavior of theat least other vehicle based on at least the current state of thevehicle and the current state of the environment of the vehicle. Thefunctions further include determining a confidence level. The confidencelevel includes a likelihood of the at least one other vehicle to performthe predicted behavior, the current state of the vehicle, and thecurrent state of the environment of the vehicle.

The foregoing summary is illustrative only and is not intended to be inany way limiting. In addition to the illustrative aspects, embodiments,and features described above, further aspects, embodiments, and featureswill become apparent by reference to the figures and the followingdetailed description.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a functional block diagram illustrating a vehicle, accordingto an example embodiment.

FIG. 2 shows a vehicle, according to an example embodiment.

FIG. 3A is a top view of an autonomous vehicle operating scenario,according to an example embodiment.

FIG. 3B is a top view of an autonomous vehicle operating scenario,according to an example embodiment.

FIG. 3C is a top view of an autonomous vehicle operating scenario,according to an example embodiment.

FIG. 4 shows a method, according to an example embodiment.

FIG. 5 is a schematic diagram of a computer program product, accordingto an example embodiment.

DETAILED DESCRIPTION

Example methods and systems are described herein. Any example embodimentor feature described herein is not necessarily to be construed aspreferred or advantageous over other embodiments or features. Theexample embodiments described herein are not meant to be limiting. Itwill be readily understood that certain aspects of the disclosed systemsand methods can be arranged and combined in a wide variety of differentconfigurations, all of which are contemplated herein.

Furthermore, the particular arrangements shown in the Figures should notbe viewed as limiting. It should be understood that other embodimentsmay include more or less of each element shown in a given Figure.Further, some of the illustrated elements may be combined or omitted.Yet further, an example embodiment may include elements that are notillustrated in the Figures.

1. Overview

Example embodiments disclosed herein relate to determining a currentstate of a vehicle, determining a current state of an environment of thevehicle, determining a predicted behavior of at least one other vehiclein the environment of the vehicle, determining a confidence level thatrelates to a likelihood of the at least one other vehicle to perform thepredicted behavior, and controlling the vehicle operating in anautonomous mode based on the determined information.

Within the context of the disclosure, the vehicle could be operable invarious modes of operation. Depending on the embodiment, such modes ofoperation could include manual, semi-autonomous, and autonomous modes.In the autonomous mode, the vehicle could be driven with little or nouser interaction. In the manual and semi-autonomous modes, the vehiclecould be driven entirely and partially, respectively, by a user.

Some methods disclosed herein could be carried out in part or in full bya vehicle configured to operate in an autonomous mode with or withoutexternal interaction (e.g., such as from a user of the vehicle). In onesuch example, a vehicle could determine a current state of the vehicle.For instance, the vehicle may acquire data about various propulsion,sensor, and control systems of the vehicle (e.g., revolutions perminute, vehicle speed, current driving lane, fuel level, brake fluidlevel, etc.). The vehicle could determine a current state of anenvironment of the vehicle. Within the context of the disclosure, theenvironment of the vehicle includes at least one other vehicle. Thedetermination of the current state of the environment of the vehiclecould be made based on information regarding external driving conditions(e.g., ice on the roadway), other vehicle speed, and other vehiclelocation, among other factors. The vehicle could determine a predictedbehavior of the at least one other vehicle based on at least the currentstate of the vehicle and the current state of the environment of thevehicle. The method could also include determining a confidence levelthat may represent a likelihood of the at least one other vehicle toperform the predicted behavior. The determination of the confidencelevel could be based on the predicted behavior, the current state of thevehicle, and the current state of the environment of the vehicle. Basedon the determined information, the vehicle could be controlled in theautonomous mode.

Other methods disclosed herein could be carried out in part or in fullby a server. In example embodiment, a server may receive sensor datafrom a vehicle operating in an autonomous mode, such as a plurality ofimages captured using a camera. The sensor data could be used by theserver to determine one or more predicted behaviors of vehicles in alocal environment of the vehicle. The server may additionally oralternatively determine one or more confidence levels that could berelated to one or more likelihoods that the respective vehicles willperform the given predicted behaviors. Further, the server couldremotely control the vehicle in the autonomous mode by providing, forinstance, instructions to adjust various aspects of the control system(throttle, brake unit, steering unit). Other interactions between avehicle operating in an autonomous mode and a server are possible withinthe context of the disclosure.

A vehicle is also described in the present disclosure. The vehicle mayinclude elements such as at least one sensor and a computer system. Theat least one sensor could be configured to acquire vehicle stateinformation (information about the vehicle itself) and environment stateinformation (information about the environment of the vehicle). Thecomputer system could be configured to perform various functions basedin full or in part on the acquired information. The functions couldinclude determining the current state of the vehicle as well asdetermining the current state of an environment of the vehicle. Thefunctions could further include determining a predicted behavior of atleast one other vehicle in the environment of the vehicle and acorresponding confidence level that could represent a likelihood of theat least one other vehicle to perform the predicted behavior. Thecomputer system of the vehicle could also be configured to control thevehicle in an autonomous mode based on the predicted behavior, theconfidence level, and the current state of the vehicle and itsenvironment.

Also disclosed herein are non-transitory computer readable media withstored instructions. The instructions could be executable by a computingdevice to cause the computing device to perform functions similar tothose described in the aforementioned methods.

There are many different specific methods and systems that could be usedin determining a current state of a vehicle, determining a current stateof an environment of the vehicle, determining a predicted behavior of atleast one other vehicle in the environment, determining a confidencelevel that corresponds to the likelihood of the at least one othervehicle to perform the predicted behavior, and controlling the vehiclein the autonomous mode based on the determined information. Each ofthese specific methods and systems are contemplated herein, and severalexample embodiments are described below.

2. Example Systems

Example systems within the scope of the present disclosure will now bedescribed in greater detail. An example system may be implemented in ormay take the form of an automobile. However, an example system may alsobe implemented in or take the form of other vehicles, such as cars,trucks, motorcycles, buses, boats, airplanes, helicopters, lawn mowers,earth movers, boats, snowmobiles, aircraft, recreational vehicles,amusement park vehicles, farm equipment, construction equipment, trams,golf carts, trains, and trolleys. Other vehicles are possible as well.

FIG. 1 is a functional block diagram illustrating a vehicle 100,according to an example embodiment. The vehicle 100 could be configuredto operate fully or partially in an autonomous mode. For example, thevehicle 100 could control itself while in the autonomous mode, and maybe operable to determine a current state of the vehicle and itsenvironment, determine a predicted behavior of at least one othervehicle in the environment, determine a confidence level that maycorrespond to a likelihood of the at least one other vehicle to performthe predicted behavior, and control the vehicle 100 based on thedetermined information. While in autonomous mode, the vehicle 100 may beconfigured to operate without human interaction.

The vehicle 100 could include various subsystems such as a propulsionsystem 102, a sensor system 104, a control system 106, one or moreperipherals 108, as well as a power supply 110, a computer system 112,and a user interface 116. The vehicle 100 may include more or fewersubsystems and each subsystem could include multiple elements. Further,each of the subsystems and elements of vehicle 100 could beinterconnected. Thus, one or more of the described functions of thevehicle 100 may be divided up into additional functional or physicalcomponents, or combined into fewer functional or physical components. Insome further examples, additional functional and/or physical componentsmay be added to the examples illustrated by FIG. 1.

The propulsion system 102 may include components operable to providepowered motion for the vehicle 100. Depending upon the embodiment, thepropulsion system 102 could include an engine/motor 118, an energysource 119, a transmission 120, and wheels/tires 121. The engine/motor118 could be any combination of an internal combustion engine, anelectric motor, steam engine, Stirling engine, or other types of enginesand/or motors. In some embodiments, the engine/motor 118 may beconfigured to convert energy source 119 into mechanical energy. In someembodiments, the propulsion system 102 could include multiple types ofengines and/or motors. For instance, a gas-electric hybrid car couldinclude a gasoline engine and an electric motor. Other examples arepossible.

The energy source 119 could represent a source of energy that may, infull or in part, power the engine/motor 118. That is, the engine/motor118 could be configured to convert the energy source 119 into mechanicalenergy. Examples of energy sources 119 include gasoline, diesel, otherpetroleum-based fuels, propane, other compressed gas-based fuels,ethanol, solar panels, batteries, and other sources of electrical power.The energy source(s) 119 could additionally or alternatively include anycombination of fuel tanks, batteries, capacitors, and/or flywheels. Theenergy source 119 could also provide energy for other systems of thevehicle 100.

The transmission 120 could include elements that are operable totransmit mechanical power from the engine/motor 118 to the wheels/tires121. To this end, the transmission 120 could include a gearbox, clutch,differential, and drive shafts. The transmission 120 could include otherelements. The drive shafts could include one or more axles that could becoupled to the one or more wheels/tires 121.

The wheels/tires 121 of vehicle 100 could be configured in variousformats, including a unicycle, bicycle/motorcycle, tricycle, orcar/truck four-wheel format. Other wheel/tire geometries are possible,such as those including six or more wheels. Any combination of thewheels/tires 121 of vehicle 100 may be operable to rotate differentiallywith respect to other wheels/tires 121. The wheels/tires 121 couldrepresent at least one wheel that is fixedly attached to thetransmission 120 and at least one tire coupled to a rim of the wheelthat could make contact with the driving surface. The wheels/tires 121could include any combination of metal and rubber, or anothercombination of materials.

The sensor system 104 may include a number of sensors configured tosense information about an environment of the vehicle 100. For example,the sensor system 104 could include a Global Positioning System (GPS)122, an inertial measurement unit (IMU) 124, a RADAR unit 126, a laserrangefinder/LIDAR unit 128, and a camera 130. The sensor system 104could also include sensors configured to monitor internal systems of thevehicle 100 (e.g., O₂ monitor, fuel gauge, engine oil temperature).Other sensors are possible as well.

One or more of the sensors included in sensor system 104 could beconfigured to be actuated separately and/or collectively in order tomodify a position and/or an orientation of the one or more sensors.

The GPS 122 may be any sensor configured to estimate a geographiclocation of the vehicle 100. To this end, GPS 122 could include atransceiver operable to provide information regarding the position ofthe vehicle 100 with respect to the Earth.

The IMU 124 could include any combination of sensors (e.g.,accelerometers and gyroscopes) configured to sense position andorientation changes of the vehicle 100 based on inertial acceleration.

The RADAR unit 126 may represent a system that utilizes radio signals tosense objects within the local environment of the vehicle 100. In someembodiments, in addition to sensing the objects, the RADAR unit 126 mayadditionally be configured to sense the speed and/or heading of theobjects.

Similarly, the laser rangefinder or LIDAR unit 128 may be any sensorconfigured to sense objects in the environment in which the vehicle 100is located using lasers. Depending upon the embodiment, the laserrangefinder/LIDAR unit 128 could include one or more laser sources, alaser scanner, and one or more detectors, among other system components.The laser rangefinder/LIDAR unit 128 could be configured to operate in acoherent (e.g., using heterodyne detection) or an incoherent detectionmode.

The camera 130 could include one or more devices configured to capture aplurality of images of the environment of the vehicle 100. The camera130 could be a still camera or a video camera.

The control system 106 may be configured to control operation of thevehicle 100 and its components. Accordingly, the control system 106could include various elements include steering unit 132, throttle 134,brake unit 136, a sensor fusion algorithm 138, a computer vision system140, a navigation/pathing system 142, and an obstacle avoidance system144.

The steering unit 132 could represent any combination of mechanisms thatmay be operable to adjust the heading of vehicle 100.

The throttle 134 could be configured to control, for instance, theoperating speed of the engine/motor 118 and, in turn, control the speedof the vehicle 100.

The brake unit 136 could include any combination of mechanismsconfigured to decelerate the vehicle 100. The brake unit 136 could usefriction to slow the wheels/tires 121. In other embodiments, the brakeunit 136 could convert the kinetic energy of the wheels/tires 121 toelectric current. The brake unit 136 may take other forms as well.

The sensor fusion algorithm 138 may be an algorithm (or a computerprogram product storing an algorithm) configured to accept data from thesensor system 104 as an input. The data may include, for example, datarepresenting information sensed at the sensors of the sensor system 104.The sensor fusion algorithm 138 could include, for instance, a Kalmanfilter, Bayesian network, or other algorithm. The sensor fusionalgorithm 138 could further provide various assessments based on thedata from sensor system 104. Depending upon the embodiment, theassessments could include evaluations of individual objects and/orfeatures in the environment of vehicle 100, evaluation of a particularsituation, and/or evaluate possible impacts based on the particularsituation. Other assessments are possible.

The computer vision system 140 may be any system operable to process andanalyze images captured by camera 130 in order to identify objectsand/or features in the environment of vehicle 100 that could includetraffic signals, road way boundaries, and obstacles. The computer visionsystem 140 could use an object recognition algorithm, a Structure FromMotion (SFM) algorithm, video tracking, and other computer visiontechniques. In some embodiments, the computer vision system 140 could beadditionally configured to map an environment, track objects, estimatethe speed of objects, etc.

The navigation and pathing system 142 may be any system configured todetermine a driving path for the vehicle 100. The navigation and pathingsystem 142 may additionally be configured to update the driving pathdynamically while the vehicle 100 is in operation. In some embodiments,the navigation and pathing system 142 could be configured to incorporatedata from the sensor fusion algorithm 138, the GPS 122, and one or morepredetermined maps so as to determine the driving path for vehicle 100.

The obstacle avoidance system 144 could represent a control systemconfigured to identify, evaluate, and avoid or otherwise negotiatepotential obstacles in the environment of the vehicle 100.

The control system 106 may additionally or alternatively includecomponents other than those shown and described.

Peripherals 108 may be configured to allow interaction between thevehicle 100 and external sensors, other vehicles, other computersystems, and/or a user. For example, peripherals 108 could include awireless communication system 146, a touchscreen 148, a microphone 150,and/or a speaker 152.

In an example embodiment, the peripherals 108 could provide, forinstance, means for a user of the vehicle 100 to interact with the userinterface 116. To this end, the touchscreen 148 could provideinformation to a user of vehicle 100. The user interface 116 could alsobe operable to accept input from the user via the touchscreen 148. Thetouchscreen 148 may be configured to sense at least one of a positionand a movement of a user's finger via capacitive sensing, resistancesensing, or a surface acoustic wave process, among other possibilities.The touchscreen 148 may be capable of sensing finger movement in adirection parallel or planar to the touchscreen surface, in a directionnormal to the touchscreen surface, or both, and may also be capable ofsensing a level of pressure applied to the touchscreen surface. Thetouchscreen 148 may be formed of one or more translucent or transparentinsulating layers and one or more translucent or transparent conductinglayers. The touchscreen 148 may take other forms as well.

In other instances, the peripherals 108 may provide means for thevehicle 100 to communicate with devices within its environment. Themicrophone 150 may be configured to receive audio (e.g., a voice commandor other audio input) from a user of the vehicle 100. Similarly, thespeakers 152 may be configured to output audio to the user of thevehicle 100.

In one example, the wireless communication system 146 could beconfigured to wirelessly communicate with one or more devices directlyor via a communication network. For example, wireless communicationsystem 146 could use 3G cellular communication, such as CDMA, EVDO,GSM/GPRS, or 4G cellular communication, such as WiMAX or LTE.Alternatively, wireless communication system 146 could communicate witha wireless local area network (WLAN), for example, using WiFi. In someembodiments, wireless communication system 146 could communicatedirectly with a device, for example, using an infrared link, Bluetooth,or ZigBee. Other wireless protocols, such as various vehicularcommunication systems, are possible within the context of thedisclosure. For example, the wireless communication system 146 couldinclude one or more dedicated short range communications (DSRC) devicesthat could include public and/or private data communications betweenvehicles and/or roadside stations.

The power supply 110 may provide power to various components of vehicle100 and could represent, for example, a rechargeable lithium-ion orlead-acid battery. In some embodiments, one or more banks of suchbatteries could be configured to provide electrical power. Other powersupply materials and configurations are possible. In some embodiments,the power supply 110 and energy source 119 could be implementedtogether, as in some all-electric cars.

Many or all of the functions of vehicle 100 could be controlled bycomputer system 112. Computer system 112 may include at least oneprocessor 113 (which could include at least one microprocessor) thatexecutes instructions 115 stored in a non-transitory computer readablemedium, such as the data storage 114. The computer system 112 may alsorepresent a plurality of computing devices that may serve to controlindividual components or subsystems of the vehicle 100 in a distributedfashion.

In some embodiments, data storage 114 may contain instructions 115(e.g., program logic) executable by the processor 113 to execute variousfunctions of vehicle 100, including those described above in connectionwith FIG. 1. Data storage 114 may contain additional instructions aswell, including instructions to transmit data to, receive data from,interact with, and/or control one or more of the propulsion system 102,the sensor system 104, the control system 106, and the peripherals 108.

In addition to the instructions 115, the data storage 114 may store datasuch as roadway maps, path information, among other information. Suchinformation may be used by vehicle 100 and computer system 112 at duringthe operation of the vehicle 100 in the autonomous, semi-autonomous,and/or manual modes.

The vehicle 100 may include a user interface 116 for providinginformation to or receiving input from a user of vehicle 100. The userinterface 116 could control or enable control of content and/or thelayout of interactive images that could be displayed on the touchscreen148. Further, the user interface 116 could include one or moreinput/output devices within the set of peripherals 108, such as thewireless communication system 146, the touchscreen 148, the microphone150, and the speaker 152.

The computer system 112 may control the function of the vehicle 100based on inputs received from various subsystems (e.g., propulsionsystem 102, sensor system 104, and control system 106), as well as fromthe user interface 116. For example, the computer system 112 may utilizeinput from the control system 106 in order to control the steering unit132 to avoid an obstacle detected by the sensor system 104 and theobstacle avoidance system 144. Depending upon the embodiment, thecomputer system 112 could be operable to provide control over manyaspects of the vehicle 100 and its subsystems.

The components of vehicle 100 could be configured to work in aninterconnected fashion with other components within or outside theirrespective systems. For instance, in an example embodiment, the camera130 could capture a plurality of images that could represent informationabout a state of an environment of the vehicle 100 operating in anautonomous mode. The environment could include another vehicle. Thecomputer vision system 140 could recognize the other vehicle as suchbased on object recognition models stored in data storage 114.

The computer system 112 could carry out several determinations based onthe information. For example, the computer system 112 could determineone or more predicted behaviors of the other vehicle. The predictedbehavior could be based on several factors including the current stateof the vehicle 100 (e.g., vehicle speed, current lane, etc.) and thecurrent state of the environment of the vehicle 100 (e.g., speed limit,number of available lanes, position and relative motion of othervehicles, etc.).

For instance, in a first scenario, if another vehicle is rapidlyovertaking the vehicle 100 from a left-hand lane, while vehicle 100 isin a center lane, one predicted behavior could be that the other vehiclewill continue to overtake the vehicle 100 from the left-hand lane.

In a second scenario, if the other vehicle is overtaking vehicle 100 inthe left-hand lane, but a third vehicle traveling ahead of vehicle 100is impeding further progress in the left-hand lane, a predicted behaviorcould be that the other vehicle may cut in front of vehicle 100.

The computer system 112 could further determine a confidence levelcorresponding to each predicted behavior. For instance, in the firstscenario, if the left-hand lane is open for the other vehicle toproceed, the computer system 112 could determine that it is highlylikely that the other vehicle will continue to overtake vehicle 100 andremain in the left-hand lane. Thus, the confidence level correspondingto the first predicted behavior (that the other vehicle will maintainits lane and continue to overtake) could be high, such as 90%.

In the second scenario, where the other vehicle is blocked by a thirdvehicle, the computer system 112 could determine that there is a 50%chance that the other vehicle may cut in front of vehicle 100 since theother vehicle could simply slow and stay in the left-hand lane behindthe third vehicle. Accordingly, the computer system 112 could assign a50% confidence level (or another signifier) to the second predictedbehavior in which the other vehicle may cut in front of the vehicle 100.

In the example embodiment, the computer system 112 could work with datastorage 114 and other systems in order to control the control system 106based on at least on the predicted behavior, the confidence level, thecurrent state of the vehicle 100, and the current state of theenvironment of the vehicle 100. In the first scenario, the computersystem 112 may elect to adjust nothing as the likelihood (confidencelevel) of the other vehicle staying in its own lane is high. In thesecond scenario, the computer system 112 may elect to control vehicle100 to slow down slightly (by reducing throttle 134) or to shiftslightly to the right (by controlling steering unit 132) within thecurrent lane in order to avoid a potential collision. Other examples ofinterconnection between the components of vehicle 100 are numerous andpossible within the context of the disclosure.

Although FIG. 1 shows various components of vehicle 100, i.e., wirelesscommunication system 146, computer system 112, data storage 114, anduser interface 116, as being integrated into the vehicle 100, one ormore of these components could be mounted or associated separately fromthe vehicle 100. For example, data storage 114 could, in part or infull, exist separate from the vehicle 100. Thus, the vehicle 100 couldbe provided in the form of device elements that may be locatedseparately or together. The device elements that make up vehicle 100could be communicatively coupled together in a wired and/or wirelessfashion.

FIG. 2 shows a vehicle 200 that could be similar or identical to vehicle100 described in reference to FIG. 1. Although vehicle 200 isillustrated in FIG. 2 as a car, other embodiments are possible. Forinstance, the vehicle 200 could represent a truck, a van, a semi-trailertruck, a motorcycle, a golf cart, an off-road vehicle, or a farmvehicle, among other examples.

Depending on the embodiment, vehicle 200 could include a sensor unit202, a wireless communication system 204, a LIDAR unit 206, a laserrangefinder unit 208, and a camera 210. The elements of vehicle 200could include some or all of the elements described for FIG. 1.

The sensor unit 202 could include one or more different sensorsconfigured to capture information about an environment of the vehicle200. For example, sensor unit 202 could include any combination ofcameras, RADARs, LIDARs, range finders, and acoustic sensors. Othertypes of sensors are possible. Depending on the embodiment, the sensorunit 202 could include one or more movable mounts that could be operableto adjust the orientation of one or more sensors in the sensor unit 202.In one embodiment, the movable mount could include a rotating platformthat could scan sensors so as to obtain information from each directionaround the vehicle 200. In another embodiment, the movable mount of thesensor unit 202 could be moveable in a scanning fashion within aparticular range of angles and/or azimuths. The sensor unit 202 could bemounted atop the roof of a car, for instance, however other mountinglocations are possible. Additionally, the sensors of sensor unit 202could be distributed in different locations and need not be collocatedin a single location. Some possible sensor types and mounting locationsinclude LIDAR unit 206 and laser rangefinder unit 208. Furthermore, eachsensor of sensor unit 202 could be configured to be moved or scannedindependently of other sensors of sensor unit 202.

The wireless communication system 204 could be located on a roof of thevehicle 200 as depicted in FIG. 2. Alternatively, the wirelesscommunication system 204 could be located, fully or in part, elsewhere.The wireless communication system 204 may include wireless transmittersand receivers that could be configured to communicate with devicesexternal or internal to the vehicle 200. Specifically, the wirelesscommunication system 204 could include transceivers configured tocommunicate with other vehicles and/or computing devices, for instance,in a vehicular communication system or a roadway station. Examples ofsuch vehicular communication systems include dedicated short rangecommunications (DSRC), radio frequency identification (RFID), and otherproposed communication standards directed towards intelligent transportsystems.

The camera 210 may be any camera (e.g., a still camera, a video camera,etc.) configured to capture a plurality of images of the environment ofthe vehicle 200. To this end, the camera 210 may be configured to detectvisible light, or may be configured to detect light from other portionsof the spectrum, such as infrared or ultraviolet light, or x-rays. Othertypes of cameras are possible as well.

The camera 210 may be a two-dimensional detector, or may have athree-dimensional spatial range. In some embodiments, the camera 210 maybe, for example, a range detector configured to generate atwo-dimensional image indicating a distance from the camera 210 to anumber of points in the environment. To this end, the camera 210 may useone or more range detecting techniques. For example, the camera 210 mayuse a structured light technique in which the vehicle 200 illuminates anobject in the environment with a predetermined light pattern, such as agrid or checkerboard pattern and uses the camera 210 to detect areflection of the predetermined light pattern off the object. Based ondistortions in the reflected light pattern, the vehicle 200 maydetermine the distance to the points on the object. The predeterminedlight pattern may comprise infrared light, or light of anotherwavelength. As another example, the camera 210 may use a laser scanningtechnique in which the vehicle 200 emits a laser and scans across anumber of points on an object in the environment. While scanning theobject, the vehicle 200 uses the camera 210 to detect a reflection ofthe laser off the object for each point. Based on a length of time ittakes the laser to reflect off the object at each point, the vehicle 200may determine the distance to the points on the object. As yet anotherexample, the camera 210 may use a time-of-flight technique in which thevehicle 200 emits a light pulse and uses the camera 210 to detect areflection of the light pulse off an object at a number of points on theobject. In particular, the camera 210 may include a number of pixels,and each pixel may detect the reflection of the light pulse from a pointon the object. Based on a length of time it takes the light pulse toreflect off the object at each point, the vehicle 200 may determine thedistance to the points on the object. The light pulse may be a laserpulse. Other range detecting techniques are possible as well, includingstereo triangulation, sheet-of-light triangulation, interferometry, andcoded aperture techniques, among others. The camera 210 may take otherforms as well.

The camera 210 could be mounted inside a front windshield of the vehicle200. Specifically, as illustrated, the camera 210 could capture imagesfrom a forward-looking view with respect to the vehicle 200. Othermounting locations and viewing angles of camera 210 are possible, eitherinside or outside the vehicle 200.

The camera 210 could have associated optics that could be operable toprovide an adjustable field of view. Further, the camera 210 could bemounted to vehicle 200 with a movable mount that could be operable tovary a pointing angle of the camera 210.

FIG. 3A illustrates a scenario 300 involving a roadway with a left-mostlane 302, a center lane 304, and a right-most lane 306. A truck 314could be in the center lane 304. A vehicle 308 could be operating in anautonomous mode in the left-most lane 302. The vehicle 308 and the truck314 could be travelling at the same speed. Another vehicle 312 could bein the center lane 304 and approaching the truck 314 from behind at ahigher rate of speed. The sensor unit 310 of the vehicle 308 could becapturing sensor data based on an environment of the vehicle 308. Inparticular, a camera could capture a plurality of images of the truck314, the other vehicle 312, as well as other features in the environmentso as to help the computer system of the vehicle 308 to determine thecurrent state of the environment of the vehicle 308. Other sensorsassociated with the vehicle 308 could be operable to provide the speed,heading, location, and other data such that the computer system of thevehicle 308 could determine the current state of the vehicle 308.

Based upon the current state of the vehicle 308 and the current state ofthe environment of the vehicle 308, the computer system in vehicle 308could further determine a predicted behavior of at least one othervehicle in the environment of the vehicle 308. Within the context ofFIG. 3A, predicted behaviors may be determined for both truck 314 andthe other vehicle 312. As the predicted behaviors could be based on thecurrent state of the environment of the vehicle 308, the computer systemof the vehicle 308 could take into account factors such as the speed ofthe respective vehicles, their headings, the roadway speed limit, andother available lanes, among other factors. For instance, the truck 314could have a predicted behavior of proceeding at the same speed, andwithin the same lane. Depending on the embodiment, such a predictedbehavior that maintains a ‘status quo’ may be considered a defaultpredicted behavior. Predicted behaviors for the other vehicle 312 couldinclude the other vehicle 312 slowing down to match the speed of thetruck 314. Alternatively, the other vehicle 312 could change lanes tothe right-most lane 306 or the other vehicle 312 could change lanes tothe left-most lane 302 and cut off the vehicle 308.

Depending upon the embodiment and the situation, a wide variety ofpredicted behaviors of other vehicles could be possible. Possiblepredicted behaviors could include, but are not limited to, othervehicles changing lanes, accelerating, decelerating, changing heading,or exiting the roadway. Predicted behaviors could also include othervehicles pulling over due to an emergency situation, a vehicle collidingwith an obstacle, and a vehicle colliding with another vehicle.Predicted behaviors could be based on what another vehicle may do inresponse to the vehicle 308 or in response to a third vehicle. Otherpredicted behaviors could be determined that relate to any vehicledriving behavior observable and/or predictable based on the methods andapparatus disclosed herein.

For each predicted behavior or for a predetermined set of predictedbehaviors, the computer system of vehicle 308 could determinecorresponding confidence levels. The confidence levels could bedetermined based on the likelihood that the given vehicle will performthe given predicted behavior. For instance, if the truck 314 is highlylikely to perform the predicted behavior (staying in the current lane,maintaining current speed), the corresponding confidence level could bedetermined to be high (e.g., 90%). In some embodiments, the confidencelevel could be represented as a number, a percentage, or in some otherform.

With respect to the other vehicle 312, possible confidence levels couldbe expressed as follows: slowing down to match speed of truck 314—40%,maintaining speed and changing to right-most lane 306—40%, maintainingspeed and changing to left-most lane 302—20%.

The computer system could control vehicle 308 in the autonomous modebased on at least the determined predicted behaviors and confidencelevels. For instance, the computer system could take into account thefact the truck 314 is highly unlikely to change its rate of speed orlane and as such, the computer system could consider truck 314 as a‘moving obstacle’ that limits the drivable portion of the roadway forboth the vehicle 308 as well as the other vehicle 312. The computersystem may further consider that there is some finite probability thatthe other vehicle 312 will pull into the left-most lane 302 and cut offthe vehicle 308. As such, the computer system may cause the vehicle 308to slow down slightly, for instance by reducing the throttle, so as toallow a margin of safety if the other vehicle 312 elects to cut infront.

FIG. 3B illustrates a scenario 320 similar to that in FIG. 3A but laterin time. In scenario 320, the other vehicle 316 has changed its headingtowards the left-most lane 302 and has moved closer to the truck 314.The computer system of vehicle 308 may continuously update the state ofthe vehicle 308 as well as its environment, for instance at a rate ofthirty times per second. Accordingly, the computer system may bedynamically determining predicted behaviors and their correspondingconfidence levels for vehicles in the environment of vehicle 308. Inscenario 320, due at least in part to the changing environment, a newpredicted behavior could be determined for truck 314. In such asituation, the truck 314 may make way for the other vehicle 316 bychanging to the right-most lane 306. Thus, the predicted behaviors andcorresponding confidence levels could change dynamically.

In scenario 320, the computer system of vehicle 308 could update theconfidence level of the predicted behavior of the other vehicle 316. Forinstance, since the other vehicle 316 has changed its heading toward theleft-most lane 302 and has moved nearer to the truck 314, it may bedetermined that the other vehicle 316 is highly likely to change lanesinto the left-most lane 302. Accordingly, based on the increasedconfidence level of the predicted behavior of the other vehicle 316, thecomputer system of the vehicle 308 could control the brake unit toabruptly slow the vehicle 308 so as to avoid a collision with the othervehicle 316. As such, the computer system of vehicle 308 could carry outa range of different control actions in response to varying predictedbehaviors and their confidence levels. For example, if another vehicleis predicted to behave very dangerously and such predicted behavior hasa high confidence level, the computer system of vehicle 308 could reactby aggressively applying the brakes or steering the vehicle 308evasively to avoid a collision. Conversely, if the computer systemdetermines that the other vehicle may carry out a predicted behaviorthat is very dangerous, but the confidence level is very low, thecomputer system may determine that only a minor adjustment in speed isnecessary or the computer system may determine that no adjustment isrequired.

FIG. 3C is a top view of an autonomous vehicle operating scenario 330.In scenario 330, a vehicle 338 with a sensor unit 340 could be operatingin an autonomous mode. As such, the sensor unit 340 could be obtainingdata from the environment of the vehicle 338 and the computer system ofthe vehicle 338 could be determining a current state of the vehicle 338and a current state of the environment of the vehicle 338.

Scenario 330 includes a truck 344 traveling at the same speed and in thesame center lane 334 as the vehicle 338. Another vehicle 342 could betraveling at a higher speed in the left-most lane 332. In such asituation, the computer system of vehicle 338 could determine predictedbehaviors for the other vehicle 342 and the truck 344. The other vehicle342 could continue at its current speed and within its current lane.Thus, a ‘default’ predicted behavior could be determined. For anotherpossible predicted behavior, the other vehicle 342 may also change lanesinto the center lane 334 and cut off the vehicle 338. The computersystem of vehicle 338 could determine a default predicted behavior forthe truck 344 (e.g., the truck 344 will maintain present speed anddriving lane).

The computer system of vehicle 338 could determine confidence levels foreach predicted behavior. For instance, the confidence level for thetruck 344 maintaining speed and the same lane could be relatively high.The confidence level of the other vehicle 342 to change lanes into thecenter lane 334 and cut off the vehicle 338 could be determined to berelatively low, for instance, because the space between the truck 344and the vehicle 338 is too small to safely execute a lane change.Further, the confidence level of the other vehicle 344 maintaining itsspeed and its current lane may be determined to be relatively high, atleast in part because the left-lane 332 is clear ahead. Thus, based onthese predictions and confidence levels, the computer system of vehicle338 could control the vehicle 338 to maintain its current speed andheading in center lane 334.

3. Example Methods

A method 400 is provided for determining information about a currentstate of a vehicle and its environment that includes at least one othervehicle, determining a predicted behavior of the other vehicle,determining a confidence level of the other vehicle to carry out thepredicted behavior, and controlling the vehicle based on the determinedinformation. The method could be performed using any of the apparatusshown in FIGS. 1 and 2 and described above, however, otherconfigurations could be used. FIG. 4 illustrates the steps in an examplemethod, however, it is understood that in other embodiments, the stepsmay appear in different order and steps could be added or subtracted.

Step 402 includes determining, using a computer system, a current stateof a vehicle. The vehicle is configured to operate in an autonomousmode. The vehicle described in this method could be the vehicle 100and/or vehicle 200 as illustrated and described in reference to FIGS. 1and 2, respectively. Determining the current state of the vehicle couldrepresent using various sensors to monitor one or more operationalaspects of the vehicle. For example, the current state of the vehiclecould be determined by acquiring information about any combination ofthe current speed, current heading, current driving lane, enginerevolutions per minute, current gear, current position, etc. Theinformation could be determined by the computer system of the vehicle orany other computing device associated with the vehicle. Depending uponthe embodiment, the determination may be made fully or in part by aserver network and communicated to the vehicle.

Step 404 includes determining, using the computer system, a currentstate of an environment of the vehicle. The environment includes atleast one other vehicle. The other vehicle could be an automobile, atruck, a motorcycle, or some other type of vehicle. The vehicle coulddetermine the current state of the environment by obtaining sensor datarelating to the speed, position, heading, and current lane of othervehicles, as well as obstacles, roadway boundaries, and roadwayconditions. Other possibilities exist for data that could be used todetermine the current state of the environment. The determination couldbe made by the computer system of the vehicle or any other computingdevice associated with the vehicle. In another embodiment, thedetermination could be made by the server network and transmitted to thevehicle.

Step 406 includes determining, using the computer system, a predictedbehavior of at least one other vehicle based on at least the currentstate of the vehicle and the current state of the environment of thevehicle. Possible predicted behaviors could include the at least oneother vehicle performing any of a range of behaviors associated withdriving on or off a roadway. For example, predicted behaviors couldinclude continuing to drive at a particular speed, with a particularheading, and within a particular lane. Other predicted behaviors couldinclude the at least one other vehicle changing speeds, changing lanes,or changing heading. Yet other predicted behaviors could include theother vehicle executing evasive manoeuvers, leaving the roadway, or evencolliding with an obstacle or another vehicle. Many other predictedbehaviors are possible within the scope of this disclosure and relatedto autonomous vehicles. The determination could be performed by thecomputer system of the vehicle or any other computing device locatedinternal or external to the vehicle. The predicted behaviors could bedetermined by obtaining a match or near match between the current stateof the vehicle and its environment and predetermined scenarios (e.g.,certain arrangements of other vehicles, their respective speeds,respective lanes, and roadway boundaries) that may be likely to resultin a given predicted behavior. Other ways of determining predictedbehaviors are possible.

In an example embodiment, a server network could include a database thatmay include a plurality of predetermined scenarios. One or morepredicted behaviors could be associated with each predeterminedscenario. The vehicle could be transmitting sensor data or other data tothe server regarding the current state of the vehicle and the vehicle'senvironment. Based on the data, the server network could determine thatmatch exists between the current state of the vehicle and itsenvironment and a predetermined scenario. In response, the server couldtransmit the predicted behaviors to the vehicle.

For instance, in reference to FIG. 3C, the vehicle 338 could transmitdata regarding the current state of the vehicle 338 as well as thecurrent state of the environment of vehicle 338 to a server network.Based on the data, the server network could determine a match betweenthe current vehicle and environment data and a predetermined scenario.If a match is determined, any corresponding predicted behaviors could betransmitted to the vehicle 338.

In other embodiments, the vehicle may determine the predicted behaviors.For example, the vehicle may store a set of predetermined scenarios inmemory or data storage. The predetermined scenarios may includeassociated predicted behaviors for other vehicles in the environment ofthe predetermined scenario. When the vehicle determines that there is asubstantial match between its current operating state, the current stateof the environment, and the predetermined scenario, the associatedpredicted behaviors could be determined.

Optionally, the vehicle and/or the server network may dynamically adjusttheir respective data stores of predetermined scenarios and predictedbehaviors based on real-world experiences. For instance, a set ofpredicted behaviors associated with any predetermined scenario couldchange over time if the vehicle and/or the server network determine(s) amore appropriate set of predicted behaviors. In such a way, the vehicleand/or the server network could use machine learning or other techniquesto adjust its response to real-world operating conditions.

Step 408 includes determining, using the computer system, a confidencelevel. The confidence level includes a likelihood of the at least oneother vehicle to perform the predicted behavior. The confidence level isbased on at least the predicted behavior, the current state of thevehicle, and the current state of the environment of the vehicle. Theconfidence level could be associated to one or more predicted behaviorsand may be based on the probability for the one or more predictedbehaviors to occur.

In some embodiments, the confidence level could represent the likelihoodof a predicted behavior that may cause the vehicle to take action toavoid a collision. For example, in reference to FIG. 3A, the vehicle 308could be driving in the left-most lane 302. Predicted behaviors that maycause the vehicle 308 to take action to avoid collision may includebehaviors such as the truck 314 changing to the left-most lane 302 aswell as the other vehicle 312 changing to the left-most lane 302. Insuch an example, one possible confidence level could represent acombination of the likelihoods that either or both of the aforementionedbehaviors may occur. Other predicted behaviors and associated confidencelevels are possible.

The confidence level could be calculated based on a combination of thediscrete probabilities of the predicted behaviors. The confidence levelcould alternatively be calculated based on a discrete or continuousprobability distribution based on predetermined likelihoods of theoccurrence of the given predicted behaviors.

The confidence level could represent a static (unchanging) probabilityof an occurrence of the given predicted behavior. Alternatively, theconfidence level could be adjusted based on, for instance, using sensordata in a machine learning algorithm. Thus, the confidence level couldbe calculated dynamically based on real-world operating conditions andoperating experiences.

In other examples, each predicted behavior could have a determinedconfidence level. In such cases, the determined confidence levels couldbe related to the likelihood of the given predicted behavior.

The confidence level could be determined by the computer system of thevehicle or any other computing device. For example, as described above,the vehicle could store (e.g., in data storage) a plurality ofpredetermined scenarios. Based on sensor data and/or by other means, thevehicle could determine a match between one of the predeterminedscenarios and the current state of the vehicle and the current state ofthe environment of the vehicle. The predetermined scenario may includeone or more predicted behaviors as well as a corresponding statisticalprobability of an occurrence of each predicted behavior. Thus, aconfidence level could be determined by the vehicle.

In some embodiments, a server network could, in part or in full, performthe determination of the confidence level. For example, as describedabove, the server network could store a plurality of predeterminedscenarios. Each predetermined scenario could include one or morepredicted behaviors. Further, each predicted behavior could have anassociated likelihood. The likelihood may include a probability that thepredicted behavior will occur based on, for instance, previous data.Thus, if a server network determines a substantial match between thecurrent state of the vehicle, the current state of the vehicleenvironment, and a predetermined scenario, a corresponding set ofpredicted behaviors could be transmitted to the vehicle. Additionally,the likelihood of each predicted behavior could be transmitted to thevehicle. In such a fashion, the confidence level could be determined bythe server network. Other ways of determining a confidence level arepossible.

Step 410 includes controlling, using the computer system, the vehicle inthe autonomous mode based on the predicted behavior, the confidencelevel, the current state of the vehicle, and the current state of theenvironment of the vehicle. In other words, the computer system maycontrol the vehicle to act in response to the determined informationfrom the foregoing steps of the disclosed method. In some instances, thecomputer system may cause the vehicle to adjust nothing. For instance,in a highway driving situation, such as that illustrated in FIG. 3C,vehicle 338 may not need to slow down or change lanes. Because thevehicle 338 is not likely to face a situation in which it will need tochange its driving condition, the computer system may control thevehicle 338 to continue at the same speed, within the same driving lane,and, for example, maintain the same following distance to truck 344.

In response to more hazardous situations, the computer system of vehicle308 could cause the vehicle 308 to adjust various aspects of itsoperation. For example, as illustrated in FIG. 3B, the computer systemcould determine (based on determined current state of the vehicle,determined current state of the environment, a determined predictedbehavior, and the determined corresponding confidence level) that theother vehicle 316 is likely to change lanes to the left-most lane 302,cutting off vehicle 308. In such a scenario 320, the computer system maycause the vehicle 308 to aggressively apply brakes to decelerate thevehicle 308 to avoid collision. Other actions could be caused by thecomputer system, such as instructing the vehicle 308 to provide awarning notification. The warning notification could include, by way ofexample, a horn signal or a flashing light signal. In other embodiments,the warning notification could be a vehicle-to-vehicle communicationmessage, such as a DSRC message.

In yet other embodiments, the computer system may cause the vehicle 308to reduce throttle to more slowly reduce speed or shift within its lane.In yet other embodiments, the computer system could cause the vehicle308 to take evasive actions to avoid collision, such as changing lanesor even moving over the double striped lanes to the left. Depending uponthe scenario, the computer system could cause the vehicle 308 to performa variety of actions that are all contemplated within the context of thepresent disclosure.

Example methods, such as method 400 of FIG. 4, may be carried out inwhole or in part by the vehicle and its subsystems. Accordingly, examplemethods could be described by way of example herein as being implementedby the vehicle. However, it should be understood that an example methodmay be implemented in whole or in part by other computing devices. Forexample, an example method may be implemented in whole or in part by aserver system, which receives data from a device such as thoseassociated with the vehicle. Other examples of computing devices orcombinations of computing devices that can implement an example methodare possible.

In some embodiments, the disclosed methods may be implemented ascomputer program instructions encoded on a non-transitorycomputer-readable storage media in a machine-readable format, or onother non-transitory media or articles of manufacture. FIG. 5 is aschematic illustrating a conceptual partial view of an example computerprogram product that includes a computer program for executing acomputer process on a computing device, arranged according to at leastsome embodiments presented herein.

In one embodiment, the example computer program product 500 is providedusing a signal bearing medium 502. The signal bearing medium 502 mayinclude one or more programming instructions 504 that, when executed byone or more processors may provide functionality or portions of thefunctionality described above with respect to FIGS. 1-4. In someexamples, the signal bearing medium 502 may encompass acomputer-readable medium 506, such as, but not limited to, a hard diskdrive, a Compact Disc (CD), a Digital Video Disk (DVD), a digital tape,memory, etc. In some implementations, the signal bearing medium 502 mayencompass a computer recordable medium 508, such as, but not limited to,memory, read/write (R/W) CDs, R/W DVDs, etc. In some implementations,the signal bearing medium 502 may encompass a communications medium 510,such as, but not limited to, a digital and/or an analog communicationmedium (e.g., a fiber optic cable, a waveguide, a wired communicationslink, a wireless communication link, etc.). Thus, for example, thesignal bearing medium 502 may be conveyed by a wireless form of thecommunications medium 510.

The one or more programming instructions 504 may be, for example,computer executable and/or logic implemented instructions. In someexamples, a computing device such as the computer system 112 of FIG. 1may be configured to provide various operations, functions, or actionsin response to the programming instructions 504 conveyed to the computersystem 112 by one or more of the computer readable medium 506, thecomputer recordable medium 508, and/or the communications medium 510.

The non-transitory computer readable medium could also be distributedamong multiple data storage elements, which could be remotely locatedfrom each other. The computing device that executes some or all of thestored instructions could be a vehicle, such as the vehicle 200illustrated in FIG. 2. Alternatively, the computing device that executessome or all of the stored instructions could be another computingdevice, such as a server.

The above detailed description describes various features and functionsof the disclosed systems, devices, and methods with reference to theaccompanying figures. While various aspects and embodiments have beendisclosed herein, other aspects and embodiments are possible. Thevarious aspects and embodiments disclosed herein are for purposes ofillustration and are not intended to be limiting, with the true scopeand spirit being indicated by the following claims.

What is claimed is:
 1. A method, comprising: determining, using acomputer system, a current state of a vehicle, wherein the vehicle isconfigured to operate in an autonomous mode; determining, using thecomputer system, a current state of an environment of the vehicle,wherein the environment of the vehicle comprises at least one othervehicle; determining, using the computer system, a predicted behavior ofthe at least one other vehicle based on at least the current state ofthe vehicle and the current state of the environment of the vehicle,wherein the predicted behavior comprises at least one of the at leastone other vehicle accelerating, the at least one other vehicledecelerating, the at least one other vehicle changing heading, the atleast one other vehicle changing lanes, the at least one other vehicleleaving the roadway, the at least one other vehicle responding to athird vehicle, or the at least one other vehicle responding to anobstacle; determining, using the computer system, a confidence level,wherein the confidence level comprises a likelihood of the at least oneother vehicle to perform the predicted behavior, and wherein theconfidence level is based on at least the predicted behavior, thecurrent state of the vehicle, and the current state of the environmentof the vehicle; and controlling, using the computer system, the vehiclein the autonomous mode based on the predicted behavior, the confidencelevel, the current state of the vehicle, and the current state of theenvironment of the vehicle.
 2. The method of claim 1, whereindetermining the current state of the vehicle comprises determining atleast one of a current speed of the vehicle, a current heading of thevehicle, a current position of the vehicle, and a current lane of thevehicle.
 3. The method of claim 1, wherein determining the current stateof the environment of the vehicle comprises determining at least one ofa respective position of the at least one other vehicle, a respectivespeed of the at least one other vehicle, and a position of an obstacle.4. The method of claim 1, wherein controlling the vehicle comprises atleast one of controlling the vehicle to accelerate, controlling thevehicle to decelerate, controlling the vehicle to change heading,controlling the vehicle to change lanes, controlling the vehicle toshift within the current lane and controlling the vehicle to provide awarning notification.
 5. The method of claim 4, wherein the warningnotification comprises at least one of a horn signal, a light signal,and a vehicle-to-vehicle communication message transmission.
 6. Themethod of claim 5, wherein the vehicle-to-vehicle communication messagetransmission is transmitted using a dedicated short range communications(DSRC) device.
 7. A vehicle, comprising: at least one sensor, whereinthe at least one sensor is configured to acquire: i) vehicle stateinformation; and ii) environment state information; wherein the vehiclestate information comprises information about a current state of thevehicle, wherein the environment state information comprises informationabout a current state of an environment of the vehicle, wherein theenvironment of the vehicle comprises at least one other vehicle; and acomputer system configured to: i) determine the current state of thevehicle based on the vehicle state information; ii) determine thecurrent state of the environment of the vehicle based on the environmentstate information; iii) determine a predicted behavior of the at leastone other vehicle based on at least the current state of the vehicle andthe current state of the environment of the vehicle, wherein thepredicted behavior comprises at least one of the at least one othervehicle accelerating, the at least one other vehicle decelerating, theat least one other vehicle changing heading, the at least one othervehicle changing lanes, the at least one other vehicle leaving theroadway, the at least one other vehicle responding to a third vehicle,or the at least one other vehicle responding to an obstacle; iv)determine a confidence level, wherein the confidence level comprises alikelihood of the at least one other vehicle to perform the predictedbehavior, and wherein the confidence level is based on at least thepredicted behavior, the current state of the vehicle, and the currentstate of the environment of the vehicle; and v) control the vehicle inthe autonomous mode based on the predicted behavior, the confidencelevel, the current state of the vehicle, and the current state of theenvironment of the vehicle.
 8. The vehicle of claim 7, wherein the atleast one sensor comprises at least one of a camera, a radar system, alidar system, a global positioning system, and an inertial measurementunit.
 9. The vehicle of claim 7, wherein the computer system is furtherconfigured to determine the current state of the vehicle based on atleast one of a current speed of the vehicle, a current heading of thevehicle, a current position of the vehicle, and a current lane of thevehicle.
 10. The vehicle of claim 7, wherein the computer system isfurther configured to determine the current state of the environment ofthe vehicle based on at least one of a respective position of the atleast one other vehicle, a respective speed of the at least one othervehicle, a position of an obstacle, and a map of the roadway.
 11. Thevehicle of claim 7, wherein the computer system is further configured tocause at least one of accelerating the vehicle, decelerating thevehicle, changing a heading of the vehicle, changing a lane of thevehicle, shifting a position of the vehicle within a current lane, andproviding a warning notification.
 12. The vehicle of claim 7, whereinthe warning notification comprises at least one of a horn signal, alight signal, and a vehicle-to-vehicle communication messagetransmission.
 13. The vehicle of claim 7, wherein the vehicle-to-vehiclecommunication message transmission is transmitted using a dedicatedshort range communications (DSRC) device.
 14. A non-transitory computerreadable medium having stored therein instructions executable by acomputer system to cause the computer system to perform functionscomprising: determining a current state of a vehicle, wherein thevehicle is configured to operate in an autonomous mode; determining acurrent state of an environment of the vehicle, wherein the environmentof the vehicle comprises at least one other vehicle; determining apredicted behavior of the at least one other vehicle based on at leastthe current state of the vehicle and the current state of theenvironment of the vehicle, wherein the predicted behavior comprises atleast one of the at least one other vehicle accelerating, the at leastone other vehicle decelerating, the at least one other vehicle changingheading, the at least one other vehicle changing lanes, the at least oneother vehicle leaving the roadway, the at least one other vehicleresponding to a third vehicle, or the at least one other vehicleresponding to an obstacle; determining a confidence level, wherein theconfidence level comprises a likelihood of the at least one othervehicle to perform the predicted behavior, and wherein the confidencelevel is based on at least the predicted behavior, the current state ofthe vehicle and the current state of the environment of the vehicle; andcontrolling the vehicle in the autonomous mode based on the predictedbehavior, the confidence level, the current state of the vehicle, andthe current state of the environment of the vehicle.
 15. Thenon-transitory computer readable medium of claim 14, wherein thefunctions further comprise acquiring sensor data from at least onesensor, wherein the sensor data comprises: i) vehicle state information;and ii) environment state information; wherein determining the currentstate of the vehicle comprises using the vehicle state information,wherein determining the current state of the environment of the vehiclecomprises using the environment state information.
 16. Thenon-transitory computer readable medium of claim 14, wherein determiningthe current state of the vehicle comprises determining at least one of acurrent speed of the vehicle, a current heading of the vehicle, acurrent position of the vehicle, and a current lane of the vehicle. 17.The non-transitory computer readable medium of claim 14, whereindetermining the current state of the environment of the vehiclecomprises determining at least one of a respective position of the atleast one other vehicle, a respective speed of the at least one othervehicle, a position of an obstacle, and a map of the roadway.
 18. Thenon-transitory computer readable medium of claim 17, wherein the warningnotification comprises at least one of a horn signal, a light signal,and a vehicle-to-vehicle communication message transmission.
 19. Thenon-transitory computer readable medium of claim 14, wherein controllingthe vehicle comprises at least one of controlling the vehicle toaccelerate, controlling the vehicle to decelerate, controlling thevehicle to change heading, controlling the vehicle to change lanes,controlling the vehicle to shift within the current lane and controllingthe vehicle to provide a warning notification.
 20. The non-transitorycomputer readable medium of claim 19, wherein the vehicle-to-vehiclecommunication message transmission is transmitted using a dedicatedshort range communications (DSRC) device.